#define _CRT_SECURE_NO_WARNINGS 1


void _MergeSort(int* a, int* tmp, int begin, int end)
{
	// 递归终止条件：如果开始索引大于或等于结束索引，
	//说明子数组长度为0或1，无需排序，直接返回
	if (begin >= end)
		return;
	// 计算中间索引mid
	int mid = (begin + end) / 2;
	// 递归排序左半部分
	_MergeSort(a, tmp, begin, mid);
	// 递归排序右半部分
	_MergeSort(a, tmp, mid + 1, end);